Apparatus, method, and system for flash memory

ABSTRACT

Methods, apparatus, systems, and data structures are disclosed, including a plurality of multiple level memory cells, each of the plurality of multiple level memory cells coupled to one of a plurality of wordlines and each of the plurality of multiple level memory cells including a plurality of logical memory pages; a control circuit coupled to the plurality of wordlines, the control circuit operable to progressively program each of the plurality of multiple level memory cells in at least one sequence including separation of the programming of a first logical memory page and a second logical memory page in any one of the plurality of multiple level memory cells by at least N−1 programming operations to memory cells either coupled to a different wordline or included in a different logical even page or a different logical odd page.

TECHNICAL FIELD

Various embodiments described herein relate generally to memory devices,including flash memory devices.

BACKGROUND

Memory devices can be categorized in two broad areas: volatile andnon-volatile. Volatile memory devices require power to maintain data,while non volatile memories are capable of maintaining data in theabsence of a power supply. An example of a non-volatile memory is theflash memory that stores information in a semiconductor device withoutthe need for power being supplied to the semiconductor device in orderto maintain the information in the semiconductor device.

Flash memory may be built using either NOR or NAND devices. NAND flashmay be either of single-level cell (SLC) or multiple-level cell (MLC)configuration. MLC NAND flash allows for a higher density memory devicein comparison to SLC NAND flash because it allows the storage of two ormore data bits in each memory cell.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a memory system according tovarious embodiments of the invention;

FIG. 2 illustrates a schematic diagram showing an array of memory cellsaccording to various embodiments of the invention;

FIG. 3 illustrates a chart showing threshold voltage distributionsaccording to various embodiments of the invention;

FIG. 4 illustrates a chart showing programming sequences according tovarious embodiments of the invention;

FIG. 5 illustrates a chart showing threshold voltage distributionsaccording to various embodiments of the invention;

FIG. 6 illustrates a chart showing threshold voltage distributionsaccording to various embodiments of the invention;

FIG. 7 illustrates a flow diagram showing one or more methods accordingto various embodiments of the invention; and

FIG. 8 illustrates a flow diagram showing one or more methods accordingto various embodiments of the invention.

DETAILED DESCRIPTION

In a multiple level NAND flash memory cell, tight threshold voltagedistribution is important. Tight control over programming refers to theability to program threshold voltages in a multiple level memory cellwithin any one of designated ranges of threshold voltages so that theprogrammed threshold voltage properly represents the data intended to bestored in the multiple level memory cell.

For example, in a 4-bit per cell memory device wherein 4 bits of datamay be stored in a single memory cell, 16 states are needed. Each stateis generally represented by a defined range of threshold voltages thatmay be programmed into a multiple level memory cell in order torepresent a particular state. If the threshold voltages programmed intothe memory cells are not in the intended range of threshold voltages,the memory cells will not properly represent the data that was intendedto be stored into the memory cells. In addition, even if the thresholdvoltage as originally programmed into the cells was within the properrange for the intended data, if the threshold voltage is not maintainedwithin the proper range, the data stored in the memory cell will becorrupted or lost.

In various embodiments of multiple level memory devices, the memorycells have been miniaturized so significantly that the spacing betweenadjacent cells in the row direction and the column direction is verynarrow. As the distance between adjacent cells becomes shorter, thecapacitance between the floating gates of adjacent cells (FG-FGcapacitance) becomes larger. This may result in a problem wherein thethreshold voltage of a cell first written into varies according to thedata written into an adjacent cell. This variation in the thresholdvoltage V_(th) of the first cell is related to the FG-FG capacitance. Avariation in the threshold voltage in an already programmed cell maythus be altered by a variation in the programmed threshold voltage dueto floating gate-to-floating gate FG-FG interference created by theprogramming of the adjacent multiple level memory cell. Thus, reduced(FG-FG) interference is also required in order to realize a tightthreshold voltage distribution that remains in the intended thresholdvoltage range for the data programmed into the memory cell.

In programming multiple level memory cells, one or more states forthreshold voltages may be harder to properly program than other states.For example, as data bits are programmed into any given memory device,the ranges for the voltages distributions may be required to becomesmaller, and have less spacing between adjacent voltage ranges.Therefore, a more precise programming of the threshold voltages may berequired in order to properly program the memory cell. As the last databits are programmed into the memory cell, the last state closest to andadjacent to the state representative of an erased memory cell may bemore difficult to program than other states that are farther away involtage from the threshold voltage representative of an erased memorycell. This last state closest to the state of an erased memory cell issometimes referred to as the lowest positive threshold voltage.

Various embodiments described herein provide for maintaining the tightthreshold voltage distributions required for proper operations involvingmultiple level memory cells while minimizing the negative effects ofprogram disturb and FG-FG interference.

FIG. 1 is a simplified block diagram of an integrated circuit memorydevice 100 in accordance with one or more embodiments of the invention.The memory device 100 includes a memory array 102, address circuitry104, control circuitry 110, and Input/Output (I/O) circuitry 114. Invarious embodiments, memory array 102 includes a plurality ofnon-volatile floating gate memory cells. In various embodiments, memoryarray 102 includes multiple level NAND flash memory cells. The memorycells may also referred to as flash memory cells because blocks ofmemory cells are erased concurrently in a flash operation.

The memory device 100 can be coupled to a processor 120 or other memorycontroller for accessing the memory array 102. The memory device 100coupled to a processor 120 forms part of an electronic system 130. Invarious embodiments, electronic system 130 may include a display 134. Invarious embodiments, electronic system may include a device forinputting data into electronic system 130, for example but not limitedto keypad 132. Some examples of electronic systems include personalcomputers, peripheral devices, wireless devices, digital cameras,personal digital assistants (PDAs), and audio recorders. Electronicsystems may also include office voice-mail PBX systems, cell phones,network routers, digital voice recorders, laptop and hand heldcomputers, set top boxes, and Universal Serial Bus (USB) flash drives.

The memory device 100 receives control signals across control lines 122from the processor 120 to control access to the memory array 102 viacontrol circuitry 110. Access to the memory array 102 is directed to oneor more target memory cells in response to address signals receivedacross address lines 124. Once the array is accessed in response to thecontrol signals and the address signals, data is written to or read fromthe memory cells across data, DQ, lines 126.

In various embodiments, processor 120 includes instructions 121, whereinthe instructions 121 may be stored on a machine-readable medium. Invarious embodiments, the instructions 121 include instructions forperforming operations including the memory array 102, including but notlimited to programming operations according to one or more embodimentsdescribed herein. In various embodiments, memory device 100 will storeinstructions 111 on a machine-readable medium, for example but notlimited to, instructions 111 stored in the control circuitry 110. Invarious embodiments, instructions 111 include instructions forprogramming memory array 102 according to one or more embodimentsdescribed herein.

In various embodiments, electronic system 130 is coupled to a network142 through link 140. Network 142 is not limited to any particular typeof network. In various embodiments, network 142 is the Internet. Link140 is not limited to any particular type of link. In some embodiments,link 140 includes physical conductors, such as but not limited to wires,transmission lines, or bus cables. In some embodiments, link 140 is awireless connection.

It will be appreciated by those skilled in the art that additionalcircuitry and control signals can be provided, and that the memorydevice of FIG. 1 has been simplified to help focus on the embodimentsdescribed herein. It will be understood that the above description of amemory device is intended to provide a general understanding of thememory device and is not a complete description of all the elements andfeatures of a typical memory device.

Flash memory is nonvolatile memory that can be erased and reprogrammedin units of memory called blocks. A write operation in any flash devicemay generally only be performed on an empty/erased unit, so in mostcases an erase operation must precede the write operation.

FIG. 2 illustrates a schematic diagram of a NAND flash memory array 200,according to various embodiments of the invention. Memory array 200 doesnot show all of the elements typically used in a memory array. Forexample, only three bit-lines are shown (BL-1, BL-2 and BL-(N)) whilethe number of bit-lines employed actually depends on the memory density.The bit-lines are subsequently referred to as (BL1-BL(N)).

The NAND flash memory array 200 includes a plurality of floating gatememory cells 201 arranged in series of strings 204, 205, and 206. Eachof the floating gate memory cells 201 may be coupled drain to source ineach series string 204, 205, and 206. The wordlines (WL0-WL31) spanacross multiple series strings 204, 205, and 206 and are coupled to thecontrol gates of every floating gate memory cell 201 in a row in orderto control their operation. The bit-lines (BL1-BL(N)) are eventuallycoupled to sense amplifiers (not shown) that detect the state of eachfloating gate memory cell 201.

In various embodiments, a plurality of the strings 204, 205, and 206 maybe designated as being in a first even/odd logical page 220, and aplurality of the strings 204, 205, and 206 may be designated as being ina second even/odd logical page 222. In various embodiments, memory array200 may include more than two logical pages. In various embodiments, thefirst even/odd logical pages and the second even/odd logical pages maybe referred to simply as the “logical page.”

In operation, the word-lines (WL0-WL31) select a row of the individualfloating gate memory cells in series strings 204, 205, and 206 that areto be written to or read from, and operate the remaining floating gatememory cells in each series string 204, 205, and 206 in a pass-throughmode. Each series string 204, 205, and 206 of floating gate memory cellsis coupled to a source line 206 by a source select gates 216, 217, 219and to an individual bit-line (BL1-BL(N)) by a drain select gates 212,213, and 215. The source select gates 216, 217, and 219 are controlledby a source select gate control line SG(S) 218 coupled to their controlgates. The drain select gates 212, 213, and 215 are controlled by adrain select control line SG(D) 214. In various embodiments, sourceselect gate control line SG(S) 218 and drain select control line SG(D)214 may be controlled by for example control circuitry 110, or byaddress circuitry 104, as shown in FIG. 1.

Returning to FIG. 2, in various embodiments, operations such as readingand programming (writing) are performed on selected memory cellsincluded in the plurality of floating gate memory cells 201. Theselected memory cells may be selected on the basis of a selectedwordline and a selected logical page. In various embodiments, whenselecting a particular even/odd logical page, the operation beingperformed on the selected memory cells is not performed on the memorycells coupled to the selected wordline but designated as included in adifferent even/odd logical page from the selected even/odd logical page.In other words, memory cells that are coupled to a same wordline maystill include some memory cells that are selected because they aredesignated as being in a particular even/odd logical page, and somememory cells that are not selected because they are designated as beingin a different even/odd logical page. In various embodiments, thisdifferentiation in the selection of memory cells coupled to a samewordline may be controlled by controlling which bitlines BL1-BL(N) andwhich source select gates 216, 217, and 219 and which drain select gates212, 213, and 215 are activated.

In various embodiments, each memory cell may be programmed as a multiplelevel memory cell. Multiple level memory cells allow programmingmultiple bits per cell. Each cell's threshold voltage (V_(th))determines the data that is stored in the cell. For example, in a singlebit per cell architecture, a V_(t) of 1V might indicate a programmedcell while a V_(th) of −1V might indicate an erased cell. The multilevelcells have more than two V_(th) windows, each indicating a differentstate. Multiple level memory cells take advantage of the analog natureof a traditional flash cell by assigning a bit pattern to a specificthreshold voltage range stored on the cell. This technology permits thestorage of two or more bits per cell, depending on the quantity ofvoltage ranges assigned to the cell.

For example, a memory cell storing 2 bits of data may be assigned fourdifferent threshold voltage distributions, each having a width ofapproximately 400 mV. In various embodiments, a separation of 0.3V to0.5V is assigned between each threshold voltage distribution range aswell. This separation zone between the threshold voltage distributionsis established so that the multiple threshold voltage distributions donot overlap causing logic errors. During verification, if the voltagestored on the cell is sensed to be within the 01 high threshold voltagedistribution, then the cell is storing a 01. If the voltage is withinthe 00 second highest distribution, the cell is storing a 00. Thiscontinues for as many ranges (levels) as are used for the memory cell.

During a programming operation, the selected word line (WL) for theflash memory cell to be programmed may be supplied with a train of highvoltage programming pulses. The high voltage programming pulses maystart at 16V and may increment in 0.5V increments. In variousembodiments, a 10V non-incrementing, high voltage pulse is applied onthe unselected WLs.

To inhibit selected cells from programming on the selected WLs, in oneembodiment, the channel of the inhibited cell is decoupled from thebit-line (BL) by applying ˜2.5V on the BL. To program selected cells onthe selected WL, the channel may be grounded to 0V through the BL. Thelarge potential formed between the channel and the WL is designed tocause the cell to program and the V_(t) of the device will increase ashigher programming pulses are applied.

In various embodiments, between every programming pulse, a verificationphase is performed. During verification, the selected WL may be loweredto 0V, the unselected WLs may be lowered to 5V, and the states of theselected cells are sensed. If the cell is programmed to have a V_(t)level such that the 0V on the WL does not induce the device to conduct,the device may be considered to be programmed. Otherwise, the cell isconsidered to be erased and the programming pulse height is increased by0.5V and applied to the selected WL again. This process is repeateduntil all selected cells to be programmed have indeed been programmed.

In a read operation, the word line of a target (selected) memory cellcan be maintained at a low voltage level. All unselected cell word linescan be coupled to a voltage sufficiently high to activate the unselectedcells regardless of their floating gate charges. If the selected cellhas an uncharged floating gate, it is activated. The bit line and sourceline are then coupled through the series of memory cells in the array.If the selected cell has a charged floating gate, it will not activate.The bit line and source lines in that case are not coupled through theseries of memory cells.

A typical memory block may comprise 64 logical pages for 1 bit/cellmemory devices. The 64 logical pages can be formed with 32 physical WLs.Each WL may contain 2 logical pages. In various embodiments, there maybe 4K bytes of cells on a WL. Of these, 2K bytes may be designated asincluded in one logical page that shares the same WL with another 2Kbytes designated as being included in a different logical page. If everycell is used in a multiple level mode for example with 4 data bits permemory cell, then a WL with the described configuration will hold 4pages having 2K bytes per page total. In a 4 data bit per memory deviceexample, 4 pages times 2K bytes per page times 32 wordlines equals 256logical pages.

When one of these pages is being programmed, the second page on the sameWL will experience a disturb condition even though it is inhibited.Therefore pages with shared WLs can experience programming disturb. Theprogramming disturb caused on the shared WL will shift the thresholdvoltage distribution of cells that are previously programmed in thesecond page that is on the same WL and make their distribution wider.For non-volatile memory devices that use two levels per cell this maynot be a major problem, since the separation zone between the twodistributions may be large enough to prevent the distributions fromoverlapping due to the disturb condition. However, for multiple levelmemory cell operations where a single cell is used to represent 4 bitsor 16 levels per memory cell, the separation zone for the thresholdvoltages representing each of the possible states for these data bits isreduced, and reducing the disturb condition becomes desirable in orderto prevent threshold voltage distributions from overlapping or shifting.

FIG. 3 illustrates a chart 300 showing threshold voltage distributionsfor a plurality of multiple level memory cells 301.

A threshold voltage distribution represents a designated range ofthreshold voltages for a plurality of multiple level memory cells. Anymemory cells having a threshold voltage that is within the designatedrange of threshold voltages for the threshold voltages distribution isprogrammed to a particular state associated with the threshold voltagedistribution. A particular state associated with the threshold voltagesincluded in the threshold voltage distribution may represent a state fora memory cell that has been erased. A particular state associated withthe threshold voltages included in the threshold voltage distributionmay represent a state for a particular data bit programmed into a memorycell. A particular state associated with the threshold voltages includedin the threshold voltage distribution may represent a state for aparticular combination of data bits programmed into a memory cell.

In chart 300, each multiple level memory cell may store 4 bits of data.In various embodiments, each of the memory cells represented by thethreshold voltage distributions of chart 300 are coupled to a samewordline. In various embodiments, each of the multiple level memorycells 301 represented by the threshold voltage distributions of chart300 are included in either a same logical “even page” of memory cellscoupled to the same wordline, or are included in a same logical “oddpage” of memory cells coupled to the same wordline. In addition,“logical memory page” refers to multiple level memory cell operable tostore more than one data bit per memory cell, wherein each data bit isstored into one of the logical memory pages included in a multiple levelmemory cell. By way of example, a multiple level memory cell operable tostore 4 data bits includes 4 logical memory pages. In variousembodiments, the four logical memory pages are referred to as the firstlower page LP-1, the second lower page LP-2, the third lower page LP-3,and upper pager UPPER.

Chart 300 includes a column 302, a column 304, and row 380, row 382, row384, row 386, and row 388. Column 302 includes vertical line 303. Column304 includes columns 310, 320, 340, and 360, and vertical lines 305,307, 309, and 313. Vertical lines 303, 305, 307, 309, and 313 representranges of threshold voltages for memory cells 301. The ranges ofthreshold voltages along vertical lines 303, 305, 307, 309, and 313 isnot limited to any particular range of voltages. In various embodiments,row 380 represents an area along the vertical lines including one ormore ranges of threshold voltages included in memory cells that havebeen erased. In various embodiments, the ranges of threshold voltagesincluded in row 380 represent a particular value, for example a “1” or a“0,” for one of the data bits being stored in each of the memory cells301. In various embodiments, the threshold voltages in row 380 representnegative voltages, and the threshold voltages in rows 382, 384, 386, and388 represent positive voltages.

Rows 382, 384, 386, and 388 each represent one or more ranges ofthreshold voltages included in memory cells 301 that have beenprogrammed. In various embodiments, row 382 represents three separateranges 373, 374, and 375 of threshold voltage distributions that eachrepresent one of three of the 16 threshold voltage distributionsprovided in a 4 bit multiple level memory cell. In various embodiments,row 384 represents four separate ranges 369, 370, 371, and 372 ofthreshold voltage distributions that each represent one of four of the16 threshold voltage distributions provided in a 4 bit multiple levelmemory cell. In various embodiments, row 386 represents four separateranges 365, 366, 367, and 368 of threshold voltage distributions thateach represent one of four of the 16 threshold voltage distributionsprovided in a 4 bit multiple level memory cell. In various embodiments,row 388 represents four separate ranges 361, 362, 363, and 364 ofthreshold voltage distributions that each represent one of four of the16 threshold voltage distributions provided in a 4 bit multiple levelmemory cell.

In various embodiments, threshold voltage distribution 306 may be athreshold voltage distribution following a erasure process performed onthe memory cells 301. In various embodiments, threshold voltagedistribution 306 represents a range of threshold voltages that wouldindicate for any memory cell having a threshold voltage within thresholdvoltage distribution 306 that the memory cell has been erased.

In various embodiments, vertical lines 303, 305, 307, 309, and 313represent the threshold voltages distributions of memory cells 301 atdifferent point in the programming process. In various embodiments,vertical line 303 represents the threshold voltage distributions 306 ina memory cell during a time represented by column 302. In variousembodiments, column 310 including vertical line 305 may represent theranges of threshold voltage distributions 311 and 312 for the memorycells having the first lower page LP-1 programmed. In column 310,threshold voltage distribution 311 may represent a range of thresholdvoltages present in memory cells having a certain value, for example a“0” programmed as the first data bit, and the threshold voltagedistribution 312 representative of a range of threshold voltages havinga different value, for example a “1” programmed as the first data bit.

In various embodiments, column 320 includes vertical line 307 andthreshold voltage distributions 321, 322, 323, and 325 representative ofthreshold voltage distributions for memory cells having the first lowerpage LP-1 and the second lower page LP-2 programmed. In variousembodiments, threshold voltage distribution 321 represents a particularvalue for the first data bit combined with one of the possible valuesfor the second stored data bit, and threshold voltage distribution 322represents the particular value for the first data bit combined with adifferent one of possible values for the second stored data bit. This isindicated by the arrows between threshold voltage distribution 311 andeach of threshold voltage distributions 321 and 322 respectively.

In various embodiments, threshold voltage distribution 323 representsanother value stored in the first data bit combined with one of thepossible values for the second stored data bit, and the thresholdvoltage distribution 325 represents the another value stored in thefirst data bit combined with a different one of the possible values forthe second stored data bit. This is indicated by the arrow betweenthreshold voltage distribution 312 and the threshold voltagedistribution 323. In various embodiments, threshold voltage distribution325 is representative of a value stored in both the first data bit andthe second data bit that corresponds with the value stored in lower pageLP-1 and LP-2 as a result of the erase operation performed on memorycells 301.

By way of example, as a result of programming the first lower page LP-1in any memory cells, for any memory cells intended to have a value of“0” stored in the first logical memory page, these memory cells may havea threshold voltage somewhere in the range represented by thresholdvoltage distribution 311, and for any memory cells intended to have avalue of “1” stored in the first logical memory page, these memory cellsmay have a threshold voltage somewhere in the range represented bythreshold voltage distribution 312.

As a result of further programming including the second lower page LP-2,the intended values to be stored in the second logical memory page ofeach memory cell are programmed into the memory cells, resulting in thethreshold voltage distributions of column 320. Continuing with theexample, in column 320 threshold voltage distribution 321 may representmemory cells intended to have a value of “01” stored in the first andsecond logical memory page, threshold voltage distribution 322 mayrepresent memory cells intended to have a value of “00” stored in thefirst and second logical memory page, threshold voltage distribution 323may represent memory cells intended to have a value of “10” stored inthe first and second logical memory page, and threshold voltagedistribution 325 may represent memory cells intended to have a value of“11” stored in the first and second logical memory page.

By progressively programming the first lower page LP-1 and the secondlower page LP-2, the intended data values to be stored in each memorycell may be added to each memory cell in a sequential manner. The term“progressively” refers to the programming of each logical memory page ofa memory cell using a programming process that sequentially adds a datavalue for one bit of data stored in the memory cell. This may bereferred to as “soft programming” of the memory cells. In variousembodiments, the progressive or soft programming is accomplished byincrementally stepping up, for each different logical memory pageprogrammed, the value of the voltage provided as the programming pulses.

In various embodiments, column 340 includes vertical line 309 andthreshold voltage distributions 341, 342, 343, 344, 345, 346, 347, and349, representative of threshold voltage distributions for memory cellshaving the first lower page LP-1, the second lower page LP-2, and thethird lower page LP-3 programmed. In various embodiments, thresholdvoltage distributions 341-347 and 349 may be a result of progressiveprogramming performed on memory cells 301 in order to program a thirddata bit into each of memory cells 301. In various embodiments, thisprogressive programming process for the third lower page LP-3 isrepresented by the arrows between the threshold voltage distribution321, 322, 323, and 325 of column 320 and the threshold voltagedistributions 341-347 of column 340.

In various embodiments, each of threshold voltage distributions 341-347and 349 represents one of 8 possible combinations of data that may existin a memory cell programmed with three data bits. In column 340, each ofthreshold voltage distributions 341-347 may include a smaller thresholdvoltage range than may be included in the threshold voltagedistributions 321, 322, and 323 of column 320. The progressiveprogramming process to program the third lower page LP-3 results inthree data bits being stored into each memory cell 301 while providingtight threshold voltage distributions.

In various embodiments, column 360 includes vertical line 313 andthreshold voltage distributions 361-375 and 377, representative ofthreshold voltage distributions for memory cells having the first lowerpage LP-1, the second lower page LP-2, the third lower page LP-3, andthe upper page UPPER programmed. In various embodiments, thresholdvoltage distributions 361-375 and 377 may be a result of progressiveprogramming performed on memory cells 301 in order to program a fourthdata bit into each of memory cells 301. In various embodiments, thisprogressive programming process for the upper page UPPER is representedby the arrows between the threshold voltage distributions 341-347 and349 of column 340 and the threshold voltage distributions 361-375 ofcolumn 360.

In various embodiments, each of threshold voltage distributions 361-375and 377 represents one of 16 possible combinations of data that mayexist in a memory cell programmed with four data bits. In column 360,each of threshold voltage distributions 341-375 includes a smallerthreshold voltage range than may be included in the threshold voltagedistributions 341-347 of column 340. The progressive programming processto program the upper page UPPER results in four data bits being storedinto each of memory cells 301 while providing tight threshold voltagedistributions.

In various embodiments, the progressive programming of the first lowerpage LP-1, the second lower page LP-2, the third lower page LP-3, andthe upper page UPPER may be done sequentially on a particular group ofmemory cells 301, wherein each logical memory page is programmed inorder and as the very next programming operation without performing anyprogramming operations that do not involve the same particular group ofmemory cells 301.

Various embodiments may also include progressive programming whereinprogramming operations are performed on one or more logical memory pagesof a particular group of memory cells 301, and wherein programmingoperations are performed on other logical memory pages of memory cells301 not included in the particular group of memory cells 301 in betweenthe programming of the logical memory pages of the partial group ofmemory cells 301.

FIG. 4 illustrates a chart 400, showing an embodiment including asequence used for programming a block of memory cells 401. Memory cells401 are coupled to wordlines 402, including 32 word lines WL0 throughWL31. Memory cells 401 include a logical even page 404 of memory cellscoupled to wordlines 402. Memory cells 401 include a logical odd page406 of memory cells coupled to wordlines 402. Each of wordlines 402 arecoupled to memory cells 401 in both the logical even page 404 and thelogical odd page 406.

Chart 400 includes a plurality of logical page numbers 430. Logical pagenumbers 430 include logical page numbers from 0 (zero) to 255. Eachlogical page number 430 is located in one of columns 410, 412, 414, and416, or one of columns 420, 422, 424, and 426.

Column 410 includes logical page numbers 430 included in the first lowerpage LP-1 for memory cells coupled to wordlines WL0 through WL31 andincluded in the logical even page 404. Column 412 includes logical pagenumbers included in the second lower page LP-2 for memory cells coupledto wordlines WL0 through WL31 and included in the logical even page 404.Column 414 includes logical page numbers included in the third lowerpage LP-3 for memory cells coupled to wordlines WL0 through WL31 andincluded in the logical even page 404. Column 416 includes logical pagenumbers included in the upper page UPPER for memory cells coupled towordlines WL0 through WL31 and included in the logical even page 404.

Column 420 includes logical page numbers 430 included in the first lowerpage LP-1 for memory cells coupled to wordlines WL0 through WL31 andincluded in the logical odd page 406. Column 422 includes logical pagenumbers included in the second lower page LP-2 for memory cells coupledto wordlines WL0 through WL31 and included in logical odd page 406.Column 424 includes logical page numbers included in the third lowerpage LP-3 for memory cells coupled to wordlines WL0 through WL31 andincluded in the logical odd page 406. Column 426 includes logical pagenumbers included in the upper page UPPER for memory cells coupled towordlines WL0 through WL31 and included in the logical odd page 406.

In various embodiments, the logical page numbers 430 represent thesequence used in programming the memory cells 401 included in a block ofmemory cells. A first programming process 440 is performed at logicalpage number 0, which is the first lower page LP-1 of the memory cellscoupled to wordline WL0 and designated as included in the logical evenpage 404. A second programming process 441 is performed at logical pagenumber 1, which is the first lower page LP-1 of the memory cells coupledto wordline WL0 and designated as the logical odd page 406. A thirdprogramming process 442 is performed at a logical page number 2, whichis the first lower page LP-1 of memory cells coupled to wordline WL1 anddesignated as the logical even page 404. A fourth programming process443 is performed at logical page number 3, which is the first lower pageLP-1 of memory cells coupled to wordline WL1 and designated as the oddlogical page 406. A fifth programming process 444 is performed atlogical page number 4, which is the second lower page LP-2 of memorycells coupled to wordline WL0 and designated as the logical even page404.

By using this sequence of programming, at least three other programmingprocesses are performed between the programming process 440 on logicalpage number 0 and logical page number 4. By using this sequence ofprogramming, the adjacent logical memory pages for the memory cells on asame wordline and a same designated logical even/odd page are programmedby progressive programming processes separated by at least three otherprogramming processes, the at least three other programming processesbeing performed on logical page numbers 430 of memory cells on either adifferent wordline or included in a different logical even/odd page fromthe memory cells having a first and a second logical memory pagesprogrammed.

As the programming sequence continues, this same separation by at leastthree programming processes is maintained for each of the logical pagenumbers 430 included in memory cells 401. In various embodiments,following programming process 445, programming process 446, programmingprocess 447, programming process 448, programming process 449, andprogramming process 450 are performed on logical page numbers 5, 6, 7,8, and 9 respectively. For each of these logical page numbers, at leastthree other programming processes are performed on logical page numberseither on a different wordline or included in a different logicaleven/odd page before returning to the same wordline and the same logicaleven/odd page to program the next logical memory page of the memory cellhaving a first and a second logical memory pages programmed.

By way of example, the second programming process 441 includesprogramming logical page number 1, which is the first lower page LP-1 ofmemory cells coupled to WL0 and included in the logical odd page 406.Before programming the second logical memory page of memory cellscoupled to the same wordline and included in the same logical page isperformed as programming process 445, programming processes 442, 443,and 444 are performed on logical page numbers of memory cells coupled toa different wordline or designated as being included in a differentlogical even/odd page. In various embodiments, this pattern ofseparation may be repeated to include programming all of the memorycells 401.

By providing the separation between programming processes as shown inFIG. 4, and by progressively programming up from lower page LP-1 toupper page UPPER through the logical page numbers for the memory cellsas shown for example in FIG. 3, the FG-FG interference is reduced, whilestill maintaining the tight threshold voltage distributions need inorder to provide properly programmed multiple level memory cells.

In general terms, the programming sequence provided in the embodimentsdescribed herein may prevent at any given time a programmed memory cell,the programmed memory cell having one or more logical memory pages M inthe memory cell programmed with data, from being adjacent to any othermemory cells have less than M−1 logical memory pages programmed. M is apositive integer less than or equal to N, wherein N is a positiveinteger equal to the number of data bits the memory cells beingprogrammed are operable to store. The term “adjacent to any memorycells” includes and refers to any memory cells that are coupled to awordline one wordline above or one wordline below the wordline to whichthe programmed memory cells is coupled. The term adjacent to alsoincludes and refers to any memory cells coupled to the same wordline asthe wordline coupled to the programmed memory cell but on a differentlogical even/odd logical page than the programmed memory cell.

The programming scheme minimizes the differences between the shifts inthreshold voltages required to program memory cells that are adjacent toalready programmed memory cells, and in doing so reduced the occurrenceof FG-FG interference throughout the programming sequence of a pluralityof memory cells.

Various embodiments include an apparatus comprising a plurality ofmultiple level memory cells, each of the plurality of multiple levelmemory cells coupled to one of a plurality of wordlines and included ineither a logical even page or a logical odd page coupled to each one ofthe plurality of wordlines, each of the plurality of multiple levelmemory cells including N logical memory pages, wherein N is an integerequal to the number of data bits each of the plurality of multiple levelmemory cells is operable to store; and at least one of the plurality ofmultiple level memory cells including a programmed memory cell havingall of the N logical memory pages included in the programmed memory cellprogrammed with a data bit, the programmed memory cell coupled to afirst wordline of the plurality of wordlines and the programmed memorycell included in either the logical even page or the logical odd pagecoupled to the first wordline; wherein any of the plurality of multiplelevel memory cells either coupled to a wordline adjacent to the firstwordline or coupled to the first wordline and on a different logicaleven page or a different logical odd page from the programmed memorycell have at least N−1 logical memory pages programmed with a data bit,and at least one of the any of the plurality of multiple level memorycell has no more than N−1 logical memory pages programmed.

Various embodiments, include an apparatus wherein at least one of theany of the plurality of multiple level memory cells has no more than N−1logical memory pages programmed when all of the plurality of multiplelevel memory cells either coupled to a wordline adjacent to the firstwordline or coupled to the first wordline and included in a differentlogical even page or a different logical odd page from the programmedmemory cell have at least N−1 logical memory pages programmed with databits.

Returning to FIG. 4, Embodiments are not limited to including threeprogramming operations between each of the programming operations ofmemory cells on the same wordline and the same logical even/odd page. Insome embodiments, more than three programming operations may beperformed on memory cells on a different wordline and a differentlogical even/odd page between performing a first programming procedureand a second programming procedure on a given memory cell.

Embodiments of the invention are not limited to the sequence shown inFIG. 4. In various embodiments, the programming sequence may begin on awordline other than wordline WL0. In various embodiments, theprogramming sequence may begin on the logical page designated as the oddpage. It would be understood that many combination of sequences forprogramming the logical page numbers of the memory cells may beperformed while still providing the separation between a first and asecond programming operation being performed on a given memory cell. Forany particular wordline and logical even/odd page, the programmingprocess as described above with respect to FIG. 4 may include the memorycells 301 being progressively programmed as described in associationwith the particular wordline and logical even/odd page progressingthorough the threshold voltages as shown by columns 310, 320, and 340,and 360 respectively in FIG. 3.

Embodiments are not limited to memory cells operable to store aparticular number of memory bits. In various embodiments, memory cellsoperable to store 2 data bits per memory cell may be used, in which casethe programming of a first and a second logical memory pages of a memorycell may be separated by at least 1 programming operation includingmemory cells either not on a same wordline or not on a same logicaleven/odd page as the memory cells having the first and second logicalmemory pages programmed. In various embodiments, memory cells operableto store 3 data bits per memory cell may be used, in which case theprogramming of a first and a second logical memory pages of a memorycell may be separated by at least 2 programming operations includingmemory cells either not on a same wordline or not on a same logicaleven/odd page as the memory cells having the first and second logicalmemory pages programmed.

In various embodiments, any programming sequence wherein the number ofprogramming operations separating the programming of a first logicalmemory page and a second logical memory page of a multiple level memorycell is equal to N−1, wherein N is an positive integer equal to thenumber of bits a particular memory cell is operable to store, andwherein the programming operations separating the programming of thefirst logical memory page and the second logical memory page includesprogramming operations on memory cells either on a different wordline oron a same wordline and a different logical even/odd page from thewordline and logical even/odd page of the memory cells including thefirst logical memory page and the second logical memory page to beprogrammed.

FIG. 5 illustrates a chart 500 showing one or more embodiments ofprogramming multiple level memory cell programming. Chart 500illustrates threshold voltage distributors resulting from progressiveprogramming processes performed on memory cells 501 including erasecompaction.

In FIG. 5, reference numbers having the same last two digits asreference number in FIG. 3 correspond to the same type of features asdescribed for FIG. 3, and so a detailed description of these features inFIG. 5 is not repeated.

In various embodiments, row 580 in FIG. 5 differs from row 380 of FIG. 3in that erase compaction is applied to the programming process of theembodiments illustrated in chart 500.

In various embodiments, erase compaction may be used to make tightthreshold voltage distributions in the programmed multiple level memorycells. In FIG. 5, column 502 show a threshold voltage distribution 510representative of a range of threshold voltages for memory cells 501after all of memory cells 501 have been erased.

Column 510 includes threshold voltage distributions 511 and 590,representative of threshold voltages distributions following aprogramming of the first lower page LP-1 of memory cells 501. Column 520includes threshold voltage distributions 521-523 and 592, representativeof threshold voltages distributions following a programming of the firstlower page LP-1 and the second lower page LP-2 of memory cells 501.Column 540 includes threshold voltage distributions 541-547 and 594,representative of threshold voltages distributions following aprogramming of the first lower page LP-1, the second lower page LP-2,and the third lower page LP-3 of memory cells 501. Column 560 includesthreshold voltage distributions 561-577 and 596, representative ofthreshold voltages distributions following a programming of the firstlower page LP-1, the second lower page LP-2, the third lower page LP-3,and the UPPER page of memory cells 501.

In various embodiments, threshold voltage distribution 590 represents arange of threshold voltages representative of erased memory cells 501that is smaller than threshold voltage distribution 510, and includes arange of threshold voltages that is closer in voltage to the lowestthreshold voltage 511 representative of programmed memory cells afterthe first lower page LP-1 programming is completed. In variousembodiments, programming of the first lower page LP-1 is performed byapplying a programming step pulse having a first voltage to each of thememory cells being programmed.

In various embodiments, after programming using the program step pulse,a compaction verification operation is performed. A compactionverification operations in some embodiments is similar to a eraseverification operations performed on a memory cell, which may includeproviding 0 volts on the wordlines WL0-WL31, providing 3.5 volts on thedrain side select gate and the source side select gate lines, providing1.0 volts at the source, and providing 0 volts on the bitlines. Invarious embodiments, after applying these voltages a measurement isperformed wherein a current is measured for each of the series stringsincluded in the memory cells being programmed. A erase compaction passor failure is determined based on the measured string current. A smallerstring current means a tight erase threshold voltage distribution and anerase threshold voltage distribution that is closer to the lowestpositive threshold voltage distribution.

If the compaction verification is complete and passes, the programmingof the particular logical page is considered complete. If the compactionverification fails, than the voltage level used in the programming pulseis incremented, and the incremented voltage level programming pulse isagain applied to the memory cell or cells where the compactionverification operation was determined to be a failure.

In various embodiments, threshold voltage distribution 592 represents arange of threshold voltages representative of erased memory cells 501that is smaller than threshold voltage distribution 510 and smaller thanthreshold voltage distribution 590, and includes a range of thresholdvoltages that is closer in voltage to the lowest threshold voltage 523representative of programmed memory cells after first lower page LP-1and the second lower page LP-2 programming is completed. In variousembodiments, programming of the second lower page LP-2 is performed byapplying a programming step pulse having a second voltage that is lessthan the first voltage applied when programming the first lower pageLP-1. In various embodiments, process of providing program pulses,performing compaction verification, and incrementing the programmingpulse voltage level and re-applying program pulse to the memory cell isincluded in programming a wider threshold voltage distribution, forexample but not limited to, threshold voltage distribution 592.

In various embodiments, threshold voltage distribution 594 represents arange of threshold voltages representative of erased memory cells 501that is smaller than threshold voltage distributions 510, 590, and 592,and includes a range of threshold voltages that is closer in voltage tothe lowest threshold voltage 547 representative of programmed memorycells after the first lower page LP-1, second lower page LP-2, and thethird lower page LP-3 programming is completed. In various embodiments,programming of the third lower page LP-3 is performed by applying aprogramming step pulse having a third voltage that is less than thesecond voltage applied when programming the second lower page LP-2

In various embodiments, threshold voltage distribution 596 includesthreshold voltage distributions having a “width” or a range of thresholdvoltages that is the same as the width or range of threshold voltagesfor threshold voltage distribution 594. In various embodiments,threshold voltage distribution 596 includes about the same range ofthreshold voltages that are included in threshold voltage distribution594. In various embodiments, programming of the UPPER page is performedby applying a programming step pulse having a forth voltage that is lessthan the second voltage applied when programming the third lower pageLP-3.

As shown in FIG. 5, the difference in threshold voltages 597 between thelowest threshold voltage in threshold voltage distribution 594 and thehighest threshold voltage in threshold voltage distribution 575 is lessthan the difference in threshold voltages 397 as shown for example inFIG. 3 between the lowest threshold voltage in threshold voltagedistribution 349 and the and the highest threshold voltage in thresholdvoltage distribution 375. Thus, the use of erase compaction in one ormore steps of the programming operations provides for smallerdifferences between threshold voltage distributions being programmed ineach step, and thus provides a difference between voltage distributionsthat is more like the difference in threshold voltages for alreadyprogrammed data such as the threshold voltage distribution difference598 as shown in FIG. 5. The smaller differences in threshold voltagedistributions between programming steps provide for a smaller amount ofFG-FG interference while programming the memory cells 501.

In a conventional programming sequence that does not include stepprogramming or erase compaction, a threshold voltage shift may be aslarge as the difference in threshold voltages 599 as shown in FIG. 5.This large voltage shift may create a FG-FG interference that maycorrupt the data being programmed into one or more adjacent memory cells501. By programming memory cells 501 using erase compaction, andprogressively programming the first lower page, the second lower page,the third lower page and then the UPPER page, the FG-FG coupling may bereduced, and thus provide tighter threshold voltage distributions forthe programmed memory cells while minimizing FG-FG interference.

FIG. 6 illustrates a chart 600 showing one or more embodiments includingMLC memory cell programming. Chart 600 illustrates threshold voltagedistributors resulting from progressive programming processes performedon memory cells 601 using erase compaction.

In FIG. 6, reference numbers having the same last two digits asreference numbers in FIG. 3 and in FIG. 5 correspond to the same type offeatures as described for FIG. 3 and for FIG. 5, and so a detaileddescription of these features in FIG. 6 is not repeated here.

In various embodiments, row 680 may include the threshold voltagedistributions 610, 612, 625, 649, and 677 for memory cells as wasdescribed with respect to threshold voltage distributions 310, 312, 325,349, and 377 of FIG. 3. In various embodiments, erase compaction may beapplied in the programming of memory cells 601 in chart 600, wherein row680 may include the threshold voltage distributions 610, 690, 692, 694,and 696 for memory cells as was described with respect to the thresholdvoltage distributions 510, 590, 592, 594, and 596 of FIG. 5.

In various embodiments, column 660 includes threshold voltagedistributions 661-674 and threshold voltage distribution 679. In variousembodiments, threshold voltage distribution 679 includes a wider rangeof threshold voltages, or a wider 681 “setting,” than any of thethreshold voltage distributions 661-674. Threshold voltage distribution679 may be the threshold voltage distribution closest to the range forthe threshold voltage distributions 677 or 696 representative of thevoltage distributions of erased memory cells. Threshold voltagedistribution may be referred to as the lowest positive threshold voltagedistribution because threshold voltage distribution 679 is the thresholdvoltage distribution that includes a range of the lowest positivethreshold voltages included in a threshold voltage distributionassociated with a state for a programmed memory cell.

By providing threshold voltage distribution 679 having a wider 681setting, a reduction in the number of programming failures resultingfrom not being able to provide a threshold voltage for a given memorycell within the smaller positive threshold voltage ranges, such asthreshold voltage ranges 661-674. In general it is difficult to achievea narrow threshold voltage distribution for a given group of memory cellwhen the threshold voltages are programmed from a wider thresholdvoltage distribution. This is due to factors such as over-programmingand program variation, with is correlated to the threshold voltage shiftoccurring during programming.

By way of example, in programming upper page UPPER page as shown incolumn 660, the threshold voltage shift in programming threshold voltagerange 661 or 662 from threshold voltage range 641 in column 640 includesa smaller threshold voltage shift 698 than as would be need inprogramming threshold voltage range 661 or 662 from threshold voltage649 in column 640. Further, in programming upper page UPPER as shown incolumn 660, threshold voltage distribution 679 provides a wider 681setting for a range of threshold voltages that, when programmed from forexample voltage distribution 649, are still within the recognized rangeof threshold voltages associated with a state designated by thresholdvoltage distribution 679. By providing a wider 681 range for thresholdvoltage distribution 679, it is more likely that the programming of anymemory cell for threshold voltages within the threshold voltage range679 will be more successful if threshold voltage range 6797 is wider,than if threshold voltage range 679 were the same width as thresholdvoltage ranges 661-674.

If the programming of threshold voltages into threshold voltagedistribution 679 is preformed from threshold voltage distribution 694,which includes erase compaction, than the maximum shift in thresholdvoltages may not exceed the threshold voltage shift 697. The smallershift in threshold voltage shift 697 as compared to threshold voltageshift 397 of FIG. 3, combined with the wider threshold voltagedistribution 679, also reduces the occurrence of programming failure inprogramming threshold voltages into the threshold voltage distribution679.

FIG. 7 is a flow diagram including several methods according to variousembodiments of the invention.

Method 700 may include at block 710 programming a first logical memorypage of a first multiple level memory cell. In various embodiments, thefirst logical memory page is one of a first lowered page, a second lowerpage, and a third lower page of the first multiple level memory cell. Invarious embodiments, the second logical memory page of the firstmultiple level memory cell is the second lower page if the first logicalmemory page is the first lower page of the first multiple level memorycell. In various embodiments, the second logical memory page of thefirst multiple level memory cell is an UPPER page if the first logicalmemory page is the third lower page of the first multiple level memorycell.

Method 700 may include at block 712 programming at least N−1 otherlogical memory pages in one or more other multiple level memory cells ina same memory block as the first multiple level memory cell beforeprogramming a second logical memory page of the first multiple levelmemory cell, wherein N is a integer equal to the number of data bits thefirst multiple level memory cell is operable to store.

In various embodiments, programming the at least N−1 other logicalmemory pages includes programming as a first of the at least N−1 otherlogical memory pages a first logical memory page of a second multiplelevel memory cell of the one or more other multiple level memory cells,wherein the second multiple level memory cell is coupled to a samewordline as the first multiple level memory cell, and is in a differentlogical page as a logical page that includes the first multiple levelmemory cell.

In various embodiments, programming the at least N−1 other logicalmemory pages includes programming as a second of the at least N−1 otherlogical memory pages a first logical memory page of a third multiplelevel memory cell of the one or more other multiple level memory cells,wherein the third multiple level memory cell is coupled to a differentwordline from the same wordline coupled to the first multiple levelmemory cell, and is in the logical page that includes the first multiplelevel memory cell. In various embodiments, the different wordline is anext adjacent wordline the same memory block.

In various embodiments, programming the at least N other logical memorypages includes programming as a third of the at least N−1 other logicalmemory pages a second logical memory page of a second multiple levelmemory cell of the one or more other multiple level memory cells,wherein the second multiple level memory cell is coupled to a differentwordline from the same wordline that includes the first multiple levelmemory cell, and is in a different logical page as a logical page thatincludes the first multiple level memory cell.

In various embodiments, programming at least N other logical memorypages includes programming three other logical memory pages and nextprogramming a second logical memory page of the first multiple levelmemory cell.

In various embodiments, programming at least N other logical memorypages includes programming at least two other logical memory pages for amemory device including memory cells including 3 bit per cell memorycells. In various embodiments, programming at least N other logicalmemory pages includes programming at least three other logical memorypages for a memory device including memory cells including 4 bits percell memory cell. In various embodiments, programming at least N otherlogical memory pages includes programming at least four other logicalmemory pages for a memory device including memory cells including 5 bitsper cell memory cell. It would be understood that this pattern ofprogramming other logical pages in a memory cell separated by a number Nof logical memory pages in other memory cells may be used for memorycells including more than 5 bits per memory cell.

In various embodiments, programming at least N other logical memorypages includes programming at least two other logical memory pages for amemory device including memory cells including 3 bit per cell memorycells.

FIG. 8 is a flow diagram including several methods according to variousembodiments of the invention.

Method 800 may include at block 810 programming a plurality of multiplelevel memory cells.

Method 800 may include at block 812 programming each of a plurality oflogical memory pages included in each of the plurality of multiple levelmemory cells progressively using a plurality of programming processes.

In various embodiments, programming each of a plurality of logicalmemory pages includes providing a first threshold voltage distributionclosest to a range of threshold voltages representative of thresholdvoltage distributions of erased memory cells, the first thresholdvoltage distribution having a wider setting than at least a secondthreshold voltage distribution representative of threshold voltagedistributions other than the threshold voltage distributionrepresentative of the threshold voltage distributions of erased memorycells.

Method 800 may include at block 814 applying erase compaction to atleast one of the plurality of programming processes. In variousembodiments, applying erase compaction includes following theprogramming of a logical memory page in at least one of the plurality oflogical memory pages in a first one of the plurality of memory cells,providing in the first one of the plurality of memory cells a secondthreshold voltage distribution representative of a range of thresholdvoltages for an erased memory cell that is narrower than a firstthreshold voltage distribution representative of a range of thresholdvoltages for an erased memory cell before the programming of the logicalmemory page.

In various embodiments, applying erase compaction includes following theprogramming of a logical memory page in at least one of the plurality oflogical memory pages in a first one of the plurality of memory cells,providing in the first one of the plurality of memory cells a firstthreshold voltage distribution representative of a range of thresholdvoltages for an erased memory cell that is closer in voltage to a secondthreshold voltage distribution representative of a range of thresholdvoltages for a programmed multiple level memory cells than the firstthreshold voltage distribution was before the programming of the logicalmemory page.

In various embodiments, applying erase compaction includes following theprogramming of a logical memory page in at least one of the plurality oflogical memory pages in a first one of the plurality of memory cells,providing in the first one of the plurality of memory cells a firstthreshold voltage distribution representative of a range of thresholdvoltages for an erased memory cell that is closer in voltage to a secondthreshold voltage distribution representative of a range of thresholdvoltages for a programmed multiple level memory cells than the firstthreshold voltage distribution was before the programming of the logicalmemory page.

In various embodiments, a system such as system 130 of FIG. 1 mayinclude a machine-readable medium on which is stored one or more sets ofinstructions, for example instructions 121 or instructions 111 embodyingany one or more of the methodologies or functions described herein,including those methods illustrated in FIG. 7. The instructions may alsoreside, or be stored in, completely or at least partially, within thememory device 100, or within the processor 120 during execution thereofby the system. The memory array 102 and the processor 120 also mayconstitute machine-readable media. The instructions 624 may further betransmitted or received over a network 626 via the network interfacedevice 620.

The accompanying drawings that form a part hereof show, by way ofillustration and not of limitation, specific embodiments in which thesubject matter may be practiced. The embodiments illustrated aredescribed in sufficient detail to enable those skilled in the art topractice the teachings disclosed herein. Other embodiments may beutilized and derived therefrom, such that structural and logicalsubstitutions and changes may be made without departing from the scopeof this disclosure. This Detailed Description, therefore, is not to betaken in a limiting sense, and the scope of various embodiments isdefined only by the appended claims and the full range of equivalents towhich such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein individually or collectively by the term “invention” merely forconvenience and without intending to voluntarily limit the scope of thisapplication to any single invention or inventive concept, if more thanone is in fact disclosed. Thus, although specific embodiments have beenillustrated and described herein, any arrangement calculated to achievethe same purpose may be substituted for the specific embodiments shown.This disclosure is intended to cover any and all adaptations orvariations of various embodiments. Combinations of the above embodimentsand other embodiments not specifically described herein will be apparentto those of skill in the art upon reviewing the above description.

Voltage magnitudes for “low” logic signals and “high” logic signals arenormally not defined since they can have a variety of relative valuesincluding negative voltages and positive voltages. “High” and “low”logic signals are defined only by their relationship to one another inrepresenting binary values. Typically, a “high” logic signal has avoltage level or potential higher than a “low” logic signal, or the“low” signal may have a different polarity or negative polarity than the“high” signal. As those skilled in the art well understand, in somelogic systems, a “high” logic value may even be represented by a groundpotential when the relative “low” logic value is represented by anegative voltage potential in reference to ground.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In the foregoing Detailed Description,various features are grouped together in a single embodiment for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted to require more features than are expressly recited ineach claim. Rather, inventive subject matter may be found in less thanall features of a single disclosed embodiment. Thus the following claimsare hereby incorporated into the Detailed Description, with each claimstanding on its own as a separate embodiment.

CONCLUSION

Methods, apparatus and systems have been disclosed for multiple levelflash memory cells. Various embodiments include a progressiveprogramming of a plurality of multiple level flash memory cells, whereinthe sequence for programming the individual logical memory pages withinat least one multiple level memory cell is separated for anotherprogramming of an individual logical memory page within the samemultiple level memory cell by programming processes performed on thelogical memory pages of one or more other multiple level memory cells.Various embodiments include using erase compaction in programmingmultiple level memory cells. Various embodiments include providing atleast one wider threshold voltage range for a threshold voltage rangerepresentative of a programmed multiple level memory cell, wherein thewider threshold voltage range is a threshold voltage range other thanthe threshold voltage range designated as indicating an erased memorycell.

By including one or more of the embodiments disclosed herein, tightcontrol over the programming of the voltage distribution ranges may beprovided while reducing the effect of FG-FG interference. In addition,use of one or more of the embodiments disclosed herein may improveprogram speed (t_(prog)) compared to conventional programming thatprogram all of the logical memory pages in a multiple level memory cellfrom an erase state to all data bits being programmed at the same time.In various embodiments, erase compaction including gradually compactingthe erase threshold voltage through soft programming reduces FG-FGinterference, while providing tight control over threshold voltagedistributions. In various embodiments, providing a wider thresholdvoltage distribution adjacent to the erase threshold voltagedistribution allows for faster programming speed and provides a reducedfailure rate in multiple level memory cells.

1. An apparatus comprising: a plurality of multiple level memory cells,each of the plurality of multiple level memory cells coupled to one of aplurality of wordlines and each of the plurality of multiple levelmemory cells including a plurality of logical memory pages; and acontrol circuit coupled to the plurality of wordlines, the controlcircuit operable to progressively program each of the plurality ofmultiple level memory cells in at least one sequence includingseparation of the programming of a first logical memory page and asecond logical memory page in any one of the plurality of multiple levelmemory cells by at least N−1 programming operations to memory cellseither coupled to a different wordline or included in a differentlogical even page or a different logical odd page from the any one ofthe plurality of multiple level memory cell that includes the firstlogical memory page and the second logical memory page, wherein N is aninteger equal to the number of data bits the plurality of multiple levelmemory cells are operable to store.
 2. The apparatus of claim 1, furtherincluding a first plurality of bitlines coupled to the control circuitand to a first group of the plurality of multiple level memory cells ina logical even page, and a second plurality of bitlines coupled to thecontrol circuit and to a second plurality of the multiple level memorycells in a second logical page.
 3. The apparatus of claim 1, wherein theplurality of multiple level memory cells includes at least one NANDflash memory cell.
 4. The apparatus of claim 1, wherein at least one ofthe plurality of multiple level memory cells includes at least onememory cell operable to store at least four bits of data.
 5. Theapparatus of claim 1, wherein a first portion of the plurality ofmultiple level memory cells coupled to a same wordline are included in afirst logical page, and a second portion of the multiple level memorycells coupled to the same wordline are included in a second logicalpage.
 6. The apparatus of claim 1, further including the control circuitincluding stored instructions including a sequence of logical pagenumbers for programming at least a portion of the plurality of multiplelevel memory cells.
 7. The apparatus of claim 1, wherein at least one ofthe plurality of multiple level memory cells includes having a thresholdvoltage within one of at least sixteen designated threshold voltagedistributions.
 8. The apparatus of claim 1, wherein at least one of theplurality of multiple level memory cells includes having a thresholdvoltage within a lowest positive threshold voltage distribution of aplurality of designated threshold voltage distributions, the lowestpositive threshold voltage distribution including a wider range ofthreshold voltages than any other of the plurality of designatedthreshold voltages that include positive threshold voltages.
 9. A methodcomprising: programming a first logical memory page of a first multiplelevel memory cell; and programming at least N−1 other logical memorypages in one or more other multiple level memory cells in a same memoryblock as the first multiple level memory cell before programming asecond logical memory page of the first multiple level memory cell,wherein N is an integer equal to the number of data bits the firstmultiple level memory cell is operable to store.
 10. The method of claim9, wherein the first logical memory page is one of a first lower page, asecond lower page, and a third lower page of the first multiple levelmemory cell.
 11. The method of claim 9, wherein the second logicalmemory page of the first multiple level memory cell is the second lowerpage, if the first logical memory page is the first lower page of thefirst multiple level memory cell.
 12. The method of claim 9, wherein thesecond logical memory page of the first multiple level memory cell is anUPPER page, if the first logical memory page is the third lower page ofthe first multiple level memory cell.
 13. The method of claim 9, whereinprogramming the at least N−1 other logical memory pages includesprogramming as a first of the at least N−1 other logical memory pages afirst logical memory page of a second multiple level memory cell of theone or more other multiple level memory cells, wherein the secondmultiple level memory cell is coupled to a same wordline as the firstmultiple level memory cell, and is in a different logical page than alogical page that includes the first multiple level memory cell.
 14. Themethod of claim 9, wherein programming the at least three other physicalpages includes programming as a second of the at least three otherphysical pages a first physical page of a third multiple level memorycell of the one or more other multiple level memory cells, wherein thethird multiple level memory cell is coupled to a different wordline fromthe same wordline coupled to the first multiple level memory cell, andis in the logical page that includes the first multiple level memorycell.
 15. The method of claim 14, wherein the different wordline is anext adjacent wordline in the same memory block.
 16. The method of claim9, wherein programming the at least three other physical pages includesprogramming as a third of the at least three other physical pages asecond physical page of the second multiple level memory cell of the oneor more other multiple level memory cells, wherein the second multiplelevel memory cell is coupled to a different wordline from the samewordline that includes the first multiple level memory cell, and is in adifferent logical page from the logical page that includes the firstmultiple level memory cell.
 17. The method of claim 9, whereinprogramming at least N−1 other physical pages includes programming N−1other physical pages and then programming the second physical page ofthe first multiple level memory cell.
 18. A method comprising:programming a plurality of multiple level memory cells, including,programming each of a plurality of logical memory pages included in eachof the plurality of multiple level memory cells progressively using aplurality of programming processes, and applying erase compaction to atleast one of the plurality of programming processes.
 19. The method ofclaim 18, wherein applying erase compaction includes after theprogramming of a logical memory page in at least one of the plurality oflogical memory pages in a first one of the plurality of memory cells,designating a second range of threshold voltages as the range ofthreshold voltages included in a threshold voltage distributionassociated with an erased memory cell, wherein the second range ofthreshold voltages includes a second range of threshold voltages that issmaller than a fist range of threshold voltages designated as a firstrange of threshold voltages included in a first threshold voltagedistribution associated with the erased memory cell before theprogramming of the logical memory page.
 20. The method of claim 18,wherein applying erase compaction includes after the programming of thelogical memory page in at least one of the plurality of logical memorypages in the first one of the plurality of memory cells, performing acompaction verification operation.
 21. The method of claim 20, whereinperforming a compaction verification operation includes measuring acurrent for at least one of a series string including at least one ofthe memory cells programmed.
 22. A machine-readable medium havinginstructions stored thereon that, when executed by a machine, cause themachine to perform: programming a first logical memory page of a firstmultiple level memory cell; and programming at least N−1 other logicalmemory pages in one or more other multiple level memory cells in a samememory block as the first multiple level memory cell before programminga second logical memory page of the first multiple level memory cell,wherein N is an integer equal to the number of data bits the firstmultiple level memory cell is operable to store.
 23. Themachine-readable medium of claim 22, wherein programming a first logicalmemory page includes programming a third lower page LP-3 of the firstmultiple level memory cell.
 24. An apparatus comprising: a plurality ofmultiple level memory cells, each of the plurality of multiple levelmemory cells coupled to one of a plurality of wordlines and included ineither a logical even page or a logical odd page coupled to each one ofthe plurality of wordlines, each of the plurality of multiple levelmemory cells including N logical memory pages, wherein N is an integerequal to the number of data bits each of the plurality of multiple levelmemory cells is operable to store; and at least one of the plurality ofmultiple level memory cells including a programmed memory cell havingall of the N logical memory pages included in the programmed memory cellprogrammed with a data bit, the programmed memory cell coupled to afirst wordline of the plurality of wordlines and the programmed memorycell included in either the logical even page or the logical odd pagecoupled to the first wordline; wherein any of the plurality of multiplelevel memory cells either coupled to a wordline adjacent to the firstwordline or coupled to the first wordline and on a different logicaleven page or a different logical odd page from the programmed memorycell have at least N−1 logical memory pages programmed with a data bit,and at least one of the any of the plurality of multiple level memorycell has no more than N−1 logical memory pages programmed.
 25. Theapparatus of claim 24, wherein at least one of the any of the pluralityof multiple level memory cells has no more than N−1 logical memory pagesprogrammed when all of the plurality of multiple level memory cellseither coupled to a wordline adjacent to the first wordline or coupledto the first wordline and included in a different logical even page or adifferent logical odd page from the programmed memory cell have at leastN−1 logical memory pages programmed with data bits.
 26. The apparatus ofclaim 24, wherein each of the plurality of multiple level memory cellsincludes 4 logical memory pages.
 27. A system comprising: a processorcoupled to a plurality of multiple level memory cells, each of theplurality of multiple level memory cells coupled to one of a pluralityof wordlines and each of the plurality of multiple level memory cellsincluding a plurality of logical memory pages; and a control circuitcoupled to the plurality of wordlines, the control circuit operable toprogressively program each of the plurality of multiple level memorycells in at least one sequence including separation of the programmingof a first logical memory page and a second logical memory page in anyone of the plurality of multiple level memory cells by at least N−1programming operations to memory cells either coupled to a differentwordline or included in a different logical even page or a differentlogical odd page from the any one of the plurality of multiple levelmemory cell that includes the first logical memory page and the secondlogical memory page, wherein N is an integer equal to the number of databits the plurality of multiple level memory cells are operable to store.28. The system of claim 27, wherein the processor further includesstored instructions operable for programming the plurality of multiplelevel memory cells.
 29. The system of claim 27, wherein the processorcoupled to the plurality of multiple level memory cells further includesa digital camera.